// var proxy=new Proxy(target,handler)  //Proxy是构造函数  
// target 代理的对象  
// handler 代理的行为
// 代理你一个你，复刻了一个你
var target={
  name:'老毕',
  age:18,
  _weight:100
}
var proxy =new Proxy(target,{
  get(obj,prop){ //接受参数obj 指代理对象  prop 对象身上的属性
    console.log('get 操作');
    return obj[prop]   //返回对象的值
  },
  set(obj,prop,value){  //value 对象的值
    console.log('get 操作');
    obj[prop]=value
  },
  has(obj,prop){
    if (prop[0]==='_') {  //属性名第一个字符为_
      return false
    }else{
      return prop in obj
    }
  },
  deleteProperty(obj,prop){
    console.log(`属性${prop}被移除`);
    
  }
})

// proxy.age=18
// console.log(proxy.age);

console.log('_weight' in proxy);   //判断这个值是否在对象里   走has方法
delete proxy.age   //行为被全权代理,在这删除不了,只能触发删除拦截,然后再代理里进行操作
console.log(proxy);